﻿#pragma once

#include "Ability/EditorAbilityView.h"
#include "EditorSceneOutlineAbilityViewModel.h"
#include "Widgets/Keyboard/KeyboardWidget.h"
#include "EditorSceneOutlineAbilityView.m.h"


class REditorEditableTextView;

RCLASS()
class REditorSceneOutlineAbilityView : public REditorAbilityView
{

    ROBJECT

public:
    virtual void BindViewModel(TSharedObjectPtr<REditorAbilityViewModel> InViewModel) ;
    virtual void CreateWidget(TSharedObjectPtr<RWidget> InParent) override;
    virtual void FillOperations(TSharedObjectPtr<RWidget> InTitleBar) override;


protected:
    TWeakObjectPtr<REditorSceneOutlineAbilityViewModel> ViewModel;
    
    TWeakObjectPtr<RWidget> RootWidget;
    TWeakObjectPtr<RWidget> List;
    TWeakObjectPtr<RKeyboardWidget> Keyborad;

    void UpdateList();

    TSharedObjectPtr<REditorEditableTextView> NameEditView;
};